协方差分析,我见过的最详细SPSS教程!
一、问题与数据
某研究者拟分析不同强度体育锻炼对血脂浓度的影响,招募45位中年男性分为三组:第一组进行高强度体育锻炼干预(为期6周),第二组进行低强度体育锻炼干预(为期6周),第三组为对照组。
为了判断高/低强度体育锻炼哪个更有助于降低血脂浓度,研究者测量了每位研究对象接受干预前的血脂浓度(pre)和干预后的血脂浓度(post)变量,并收集了分组(group)变量信息。部分数据如下图:
二、对问题的分析
研究者想判断不同干预方法(group)对因变量(post)的影响,但是不能忽视协变量(pre)对因变量的作用。针对这种情况,我们可以使用单因素协方差检验,但需要先满足以下10项假设:
假设1:因变量是连续变量。
假设2:自变量存在2个或多个分组。
假设3:协变量是连续变量。
假设4:各研究对象之间具有相互独立的观测值。
假设5:各组内协变量和因变量之间存在线性关系。
假设6:各组间协变量和因变量的回归直线平行。
假设7:各组内因变量的残差近似服从正态分布。
假设8:各组内因变量的残差具有等方差性。
假设9:各组间因变量的残差方差齐。
假设10:因变量没有显著异常值。
经分析,本研究数据满足假设1-4,那么应该如何检验假设5-10,并进行单因素协方差分析呢?
三、SPSS操作
检验假设5:各组内协变量和因变量之间存在线性关系
为检验假设5,我们需要先绘制协变量与因变量在不同组内的散点图。在主界面点击Graphs→ Chart Builder,在Chart Builder对话框下,从Choose from选择Scatter/Dot。在中下部的8种图形中,选择 “Grouped Scatter”,并拖拽到主对话框中。
将pre、post和group变量分别拖拽到“X-Axis?”、“Y-Axis?”和“Set color”方框内。
在Element Properties框内点击Y-Axis1 (Point1),在Scale Range框内取消对Minimum的勾选。
点击Apply→OK,得到散点图。
在 Chart Editor界面下可以添加散点图的趋势线。双击散点图,点击 Elements→Fit Line at Subgroups,得到带趋势线的散点图。
从上图可以看出,各组内协变量和因变量存在线性相关关系,满足假设5。
检验假设6:各组内协变量和因变量的回归直线平行
检验各组内协变量和因变量的回归直线是否平行,即要检验回归方程中自变量(组别)与协变量之间是否存在交互作用。
在主界面点击Analyze→ General Linear Model→Univariate,在弹出的对话框中,将post、group和pre变量分别放入Dependent Variable、Fixed Factor(s)和Covariate(s)栏。
点击Model,选择Specify Model栏内的Custom选项,将group和pre变量分别放入Model栏,并同时选择group和pre变量(按住Shift键)放入Model栏,生成交互项,点击Continue→OK。
经上述操作,SPSS输出Tests of Between-Subjects Effects 。
如果自变量与协变量的交互项具有统计学意义,那么就说明各组间回归斜率不同;若自变量与协变量的交互项没有统计学意义,就说明各组间回归斜率相同。在本研究中group与pre变量交互项的P值为0.143,提示各组内协变量和因变量的回归直线平行,即自变量(组别)与协变量之间不存在交互作用,满足假设6。
检验假设7-10
为检验假设7-10,我们需要先生成预测值(PRE_1)和标准化残差(ZRE_1)变量,SPSS操作如下:
在主界面点击Analyze→ General Linear Model→Univariate,在弹出的对话框中,将post、group和pre变量分别放入Dependent Variable、Fixed Factor(s)和Covariate(s)栏。
点击Model选项,选择Specify Model栏的 Full factorial选项。
点击Continue→Save。选择Predicted Values栏的Unstandardized选项,Residuals栏的Standardized选项。
点击Continue→Options,将group变量放入Display Means for栏。点击Display栏内的Descriptive statistics、Estimates of effect size和Homogeneity tests选项。点击Continue→OK。
经上述操作,SPSS生成回归模型的非标准化预测值(PRE_1)和标准化残差(ZRE_1)变量,Data View界面的更新结果如下图。
检验假设7:各组内因变量残差近似服从正态分布
在主界面点击Analyze→Descriptive Statistics→Explore,在弹出的对话框中,将标准化残差ZRE_1变量放入 Dependent List栏,group变量放入 Factor List栏。
点击Plots选项,保留Boxplots栏的Factor levels together选项,去除Descriptive栏的Stem-and-leaf选项,并点击Normality plots with tests选项。点击Continue→OK。
经上述操作,SPSS输出了Kolmogorov-Smirnov和Shapiro-Wilk正态性检验的结果,以及各组P-P图、Q-Q图等。Kolmogorov-Smirnov和Shapiro-Wilk正态性检验的结果如下图。
一般来说,可以使用Shapiro-Wilk检验判断数据的正态分布情况。如果数据接近正态分布,那么Shapiro-Wilk检验的P值就大于0.05;反之则小于0.05(各种正态性判断方法的异同点详见“独立样本t检验”的扩展阅读)。可以看出,各组内因变量的残差接近于正态分布,满足假设7。
检验假设8:各组内因变量的残差具有等方差性
因变量的残差具有等方差性,即因变量的残差不随自变量的变化而变化。在两者组成的散点图上,则表现为因变量的残差均匀的分布在其均值的上下两侧,不随自变量取值的变化而变化。
在主界面点击Graphs→Chart Builder,在弹出的对话框中,从Choose from中选择Scatter/Dot。并在中下部的8种图形中, 选择“Simple Scatter”,拖拽到主对话框中。
将预测值(PRE_1)和标准化残差(ZRE_1)变量分别拖拽到“X-Axis?”和“Y-Axis?”方框内。
选择Groups/Point ID选项,点击 Columns panel variable ,主对话框弹出"Panel?"框。
将group变量放入Panel?栏,点击OK。
经上述操作,SPSS输出图如下:
如果因变量的残差具有等方差性,不同预测值对应的残差应大致相同。即图中各点均匀分布,不会出现特殊的分布形状。
各组内因变量的预测值与标准化残差的散点图中,各点均匀分布,没有特殊形状。因此可以认为,各组内因变量的残差具有等方差性,满足假设8。
如果残差分布不均匀,形成漏斗或者扇形,那么就不具有等方差性。如下图。
当然,如果不满足等方差性假设,我们也可以通过一些统计手段进行矫正。比如,采用加权最小二乘法回归方程,改用更加稳健的分析方法以及转换数据等。
检验假设9:各组间因变量的残差方差齐
经上述操作,SPSS输出结果方差齐性检验的结果。
一般来说,如果Levene's检验的P值小于0.05,那么就说明各组间因变量的残差方差不齐。本研究结果提示,Levene's检验的P值为0.420,说明各组间因变量的残差方差齐,满足假设9。
假设10:因变量没有显著异常值
因变量是否有显著异常值,也可以借助残差来判断。在数据视图中,右击ZRE_1数据栏,选择“Sort Descending”。
将标准化残差降序排列后,可以在数据栏的最上方和最下方检查是否存在大于3的离群值(标准化残差服从均值为0,标准差为1的正态分布,因此大于3则可认为是离群值)。如果存在,就应进行相应的调整或剔除。
本研究所有个体因变量的标准化残差均不大于3,提示没有显著异常值,满足假设10。
单因素协方差分析的SPSS操作
单因素协方差分析的步骤如上面检验假设6的步骤。在主界面点击Analyze→ General Linear Model→Univariate,在弹出的对话框中,将post、group和pre变量分别放入Dependent Variable、Fixed Factor(s)和Covariate(s)栏。
不同的是,Model对话框中,仅需要将group和pre变量分别放入Model栏。
点击Continue→Options,将group变量放入Display Means for栏,点击Compare main effects,选择 Confidence interval adjustment栏的Bonferroni选项(此步骤将进行多组间的两两比较,如果实际研究中只有两组,则不用选择Compare main effects)。
点击Display栏内的Descriptive statistics和Estimates of effect size选项。点击Continue→OK。
四、结果解释
1. 统计描述
在进行单因素协方差结果解释之前,我们先要对数据结构有一个基本的了解。本研究分为三组:对照组(Control)、低强度运动干预组(Int_1)和高强度运动干预组(Int_2),每组样本量为15。
在干预结束后,对照组研究对象的血脂浓度(变量post)为6.05 ± 0.61 mmol/L,低强度运动干预组研究对象的血脂浓度为5.83 ± 0.60 mmol/L,高强度运动干预组研究对象的血脂浓度为5.31 ± 0.50 mmol/L。
但是,由于研究对象在干预前的血脂浓度不尽相同,仅从上表结果很难看出各组干预的效果。因此根据单因素协方差分析的要求,SPSS在Estimates中输出了各组调整干预前血脂浓度(即协变量)后的血脂浓度。
调整干预前的血脂浓度后,对照组研究对象在结束干预时的血脂浓度为5.99 mmol/L,标准误为0.029 mmol/L;低强度运动干预组研究对象在结束干预时的血脂浓度为5.79 mmol/L,标准误为0.029 mmol/L;高强度运动干预组研究对象在结束干预时的血脂浓度为5.40 mmol/L,标准误为0.029 mmol/L。
这一结果提示,调整干预前血脂浓度后,高强度运动干预组研究对象的血脂浓度低于低强度干预组,而低强度干预组又低于对照组,提示体育锻炼有助于减低血脂浓度,高强度的体育锻炼效果更好。但是这种简单的结果对比可信性不高,我们还需要进行统计学检验分析。
2. 单因素协方差分析的结果
运行协方差分析的目的就是,在控制了协变量之后分析不同组的差别,Tests of Between-Subjects Effects表格解释了这一结果。具体来说,单因素协方差分析就是在检验调整协变量之后各组之间均值的差异是否有统计意义,结果部分主要关注group行的信息。
该表提示,group变量的P值小于0.05(Sig.栏),说明经协变量调整之后各组之间均值的差异具有统计意义,F= 105.512, P < 0.001。即调整干预前血脂浓度后,不同分组研究对象在干预后的血脂浓度不同。但是该表还不能说明具体是哪几组之间的均值存在差异,我们还需要进行多组间的两两比较(Post hoc检验)。
3. Post hoc检验
可以看出,调整干预前血脂浓度后,对照组(Control)与低运动强度干预组(Int_1)在干预结束时研究对象的血脂浓度不同,即对照组研究对象的血脂浓度比低运动强度干预组高0.194 mmol/L(95%CI为0.092-0.296),差异具有统计学意义(P<0.001)。其它组间分析方法类似,不再赘述。
五、撰写结论
本研究采用单因素协方差分析,判断在调整干预前血脂浓度后,不同干预方法对血脂浓度的影响。
通过绘制散点图,直观判断在不同组内干预前血脂浓度与干预后血脂浓度之间存在线性关系。各组内协变量和因变量的回归直线平行(F = 2.048, P = 0.143)。Shapiro-Wilk检验结果提示,各组内因变量的残差接近于正态分布(P > 0.05)。通过绘制散点图和进行Levene's检验发现,各组内/组间因变量的残差具有等方差性。同时,本研究数据不存在标准化残差大于3的情况,提示没有显著异常值。
结果显示,调整干预前血脂浓度后,不同分组研究对象在干预后的血脂浓度不同(F = 105.512,P < 0.001)。
Post hoc检验结果提示,对照组研究对象在干预后的血脂浓度比低运动强度干预组高0.194 mmol/L(95%CI:0.092-0.296 mmol/L,P < 0.001);比高运动强度干预组高0.584 mmol/L(95%CI:0.482-0.686 mmol/L,P < 0.001)。同时,低运动强度干预组研究对象在干预后的血脂浓度也比高运动强度干预组的高0.390 mmol/L(95%CI:0.288-0.492 mmol/L,P < 0.001)(详见表1) 。
本研究结果提示体育锻炼有助于减低血脂浓度,且高强度的体育锻炼效果更好。
(如果想使用文中数据进行练习,请使用电脑打开以下网址:
http://www.mediecogroup.com/method_article_detail/118/
点击左侧“数据下载”免费下载原始数据)
更多阅读
关注医咖会,轻松学习统计学~
快加小咖个人微信(xys2016ykf),拉你进统计讨论群和众多热爱研究的小伙伴们一起交流学习。
点击左下角“阅读原文”,看看医咖会既往推送了哪些统计教程。或者使用电脑打开网址:http://www.mediecogroup.com/,查看60种SPSS教程。